#!/usr/bin/python
# -*- coding:utf-8 -*-
# @FileName : python_test8_7_8.py
# Author    : myh

# 练习 8.7：专辑　编写一个名为 make_album() 的函数，它创建一个
# 描述音乐专辑的字典。这个函数应接受歌手名和专辑名，并返回一个
# 包含这两项信息的字典。使用这个函数创建三个表示不同专辑的字
# 典，并打印每个返回的值，以核实字典正确地存储了专辑的信息。
# 给 make_album() 函数添加一个默认值为 None 的可选形参，以便存
# 储专辑包含的歌曲数。如果调用这个函数时指定了歌曲数，就将这个
# 值添加到表示专辑的字典中。调用这个函数，并至少在一次调用中指
# 定专辑包含的歌曲数。

def make_album(f_singer_name, f_sings_name, f_sings_num=None):
    f_sing = {'singer_name': f_singer_name, 'sings_name': f_sings_name, 'sings_num': f_sings_num}
    return f_sing


print(make_album('JJ', 'jiang nan'))
print(make_album('Jay', 'dao xiang'))
print(make_album('JJ', 'jiang nan', 10))


print('***********************')

# 练习 8.8：用户的专辑　在为练习 8.7 编写的程序中，编写一个 while
# 循环，让用户输入歌手名和专辑名。获取这些信息后，使用它们来调
# 用 make_album() 函数并将创建的字典打印出来。在这个 while 循
# 环中，务必提供退出途径。

singer_name = ''
sings = []
while singer_name != 'quit':
    singer_name = input('singer_name:  ')
    if singer_name != 'quit':
        sings_name = input('sings_name:  ')
        sings_num = input('sings_num:  ')
        sings.append(make_album(singer_name, sings_name, sings_num))


for sing in sings:
    print(sing)


